package Presentacion;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import java.awt.FlowLayout;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.Color;

import javax.swing.JTextPane;

import Dominio.Gestor_reserva;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JFrameReservaLibro extends JFrame {

	private JPanel contentPane;
	private JTextField textFieldTitulo;
        private JTextField textFieldSignatura;
        private JTextField textFieldISBN;
	private JTextPane textPane;

        
	public JFrameReservaLibro(){
		setTitle("Reservar un libro");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 420, 319);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
                
                JLabel pres = new JLabel("Rellene un único campo, si no, puede dar error. =D");
		pres.setBounds(6, 2, 386, 43);
		contentPane.add(pres);
		
		JLabel label2 = new JLabel("Titulo:");
		label2.setBounds(6, 37, 69, 16);
		contentPane.add(label2);
                
                JLabel label3 = new JLabel("Signatura:");
		label3.setBounds(6, 81, 69, 16);
		contentPane.add(label3);
                
                JLabel label4 = new JLabel("ISBN:");
		label4.setBounds(6, 120, 69, 16);
		contentPane.add(label4);
		
		textFieldTitulo = new JTextField();
		textFieldTitulo.setBounds(87, 37, 134, 28);
		contentPane.add(textFieldTitulo);
		textFieldTitulo.setColumns(10);
                
                textFieldSignatura = new JTextField();
		textFieldSignatura.setColumns(10);
		textFieldSignatura.setBounds(87, 81, 134, 28);
		contentPane.add(textFieldSignatura);
                
                textFieldISBN = new JTextField();
		textFieldISBN.setColumns(10);
		textFieldISBN.setBounds(87, 120, 134, 28);
		contentPane.add(textFieldISBN);
		
		JButton btnRegistrar = new JButton("Reservar");
		btnRegistrar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0){
                            boolean res=false;
                            String titulo,signatura,isbn;
                            titulo = textFieldTitulo.getText();
                            signatura = textFieldSignatura.getText();
                            isbn = textFieldISBN.getText();
                           
                           Gestor_reserva reserva;
                           reserva = new Gestor_reserva();
                           
                           try {
                               res = reserva.ReservarLibro(titulo, signatura,isbn);
                           } catch (Exception ex) {
                                Logger.getLogger(JFrameReservaLibro.class.getName()).log(Level.SEVERE, null, ex);
                           }
                           if (res==true){
                               
                               textPane.setText("Reserva realizada correctamente.");
                           }
                           else{
                               textPane.setText("El libro no se ha podido reservar, no se encuentra disponible o no existe en la BD.");
                           }
			}
		});
		btnRegistrar.setBounds(253, 76, 117, 29);
		contentPane.add(btnRegistrar);
		
                JButton btnLimpiar = new JButton("Limpiar");
                
                btnLimpiar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
                            
                            textPane.setText(null);
                            textFieldTitulo.setText(null);
                            textFieldSignatura.setText(null);
                            textFieldISBN.setText(null);
			}
		});
                
                btnLimpiar.setBounds(253, 176, 117, 29);
		contentPane.add(btnLimpiar);
                
		JLabel label_1 = new JLabel("Estado");
		label_1.setForeground(Color.BLUE);
		label_1.setBounds(6, 210, 61, 16);
		contentPane.add(label_1);
		
		textPane = new JTextPane();
		textPane.setToolTipText("Panel para mostrar el restultado de la comprobaci\u00F3n de login o las excepciones lanzadas");
		textPane.setEditable(false);
		textPane.setBounds(6, 230, 407, 102);
		contentPane.add(textPane);
	}
}
